import 'dart:io';

main() {
  print('程序开始，准备请求参数');
  Future(() async {
    // 登录
    String token = await login(username: 'admin', password: '123456');
    print('登录成功，token是：$token');
    // 获取用户信息
    Map userInfo = await getUserInfo(token: token);
    print('用户信息是：$userInfo');
    // 保存用户信息
    String res = await saveUserInfo(userInfo: userInfo);
    print('保存用户信息结果是：$res');

  });
  print('其他业务逻辑');
}

// 模拟登录
// 1. 登录成功，返回token
Future<String> login({required String username, required String password}) {
  return Future(() {
    sleep(Duration(seconds: 2));
    return 'token123456';
  });
}

// 2. 根据token获取用户信息
Future<Map> getUserInfo({required String token}) {
  return Future(() {
    sleep(Duration(seconds: 2));
    return {'name': '张三', 'age': 18};
  });
}

// 3. 保存用户信息
Future<String> saveUserInfo({required Map userInfo}) {
  return Future(() {
    sleep(Duration(seconds: 2));
    return 'success';
  });
}

